<?php

/**
 * 这是表 "{{tags}}" 的模型类。
 *
 * 下面是表 "{{tags}}" 中可用的列:
 * @property integer $tag_id
 * @property string $tag_name
 * @property string $tag_description
 * @property string $tag_creattime
 * @property string $tag_updatetime
 * @property integer $tag_lib_id
 * @property integer $tag_count
 *
 * 下面是模型中可用的关联:
 * @property Photoalbumtag[] $photoalbumtags
 * @property Phototag[] $phototags
 * @property Postcategorytag[] $postcategorytags
 * @property Posttag[] $posttags
 * @property Taglib $tagLib
 */
class Tags extends CActiveRecord
{
    /**
     * 返回指定 AR 类的静态模型。
     * @param string $className 活动记录类的名字。
     * @return Tags静态模型类
     */
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string 相关联的数据库表名。
     */
    public function tableName()
    {
        return '{{tags}}';
    }

    /**
     * @return array 模型属性的验证规则。
     */
    public function rules()
    {
        // 注意: 仅需为可能接受用户输入的属性定义规则。
        return array(
            array('tag_name, tag_creattime, tag_lib_id', 'required'),
            array('tag_lib_id, tag_count', 'numerical', 'integerOnly'=>true),
            array('tag_name', 'length', 'max'=>255),
            array('tag_description, tag_updatetime', 'safe'),
        );
    }

    /**
     * @return array 模型的关联。
     */
    public function relations()
    {
        return array(
            'photoalbumtags' => array(self::HAS_MANY, 'Photoalbumtag', 'tag_id'),
            'phototags' => array(self::HAS_MANY, 'Phototag', 'tag_id'),
            'postcategorytags' => array(self::HAS_MANY, 'Postcategorytag', 'tag_id'),
            'posttags' => array(self::HAS_MANY, 'Posttag', 'tag_id'),
            'tagLib' => array(self::BELONGS_TO, 'Taglib', 'tag_lib_id'),
        );
    }

    /**
     * @return array 为属性自定义的标签。 (name=>label)
     */
    public function attributeLabels()
    {
		return array(
			'tag_id' => 'Tag',
			'tag_name' => 'Tag Name',
			'tag_description' => 'Tag Description',
			'tag_creattime' => 'Tag Creattime',
			'tag_updatetime' => 'Tag Updatetime',
			'tag_lib_id' => 'Tag Lib',
			'tag_count' => 'Tag Count',
		);    
	}
	/**
	 * 基于当前的检索/过滤条件，检索出符合条件的模型实例。
	 * @return CActiveDataProvider 可以基于当前的检索/过滤条件返回模型实例的数据提供者。
	 */
	public function search()
	{
		// 注意：请修改下面的代码，将不需要检索的属性移除。
		$criteria=new CDbCriteria;
		$criteria->compare('tag_id',$this->tag_id);
		$criteria->compare('tag_name',$this->tag_name,true);
		$criteria->compare('tag_description',$this->tag_description,true);
		$criteria->compare('tag_creattime',$this->tag_creattime,true);
		$criteria->compare('tag_updatetime',$this->tag_updatetime,true);
		$criteria->compare('tag_lib_id',$this->tag_lib_id);
		$criteria->compare('tag_count',$this->tag_count);
		return new CActiveDataProvider($this, array('criteria'=>$criteria));
	}
}